import time
import sys

from PyQt5.QtWidgets import QApplication


# def main():
#     # time.sleep(30)
#     from test_fenglun import Fenglun
#     from midea_common.test_gui_base import test_gui_base
#
#     try:
#         ss = Fenglun()
#         test_gui_base(ss)
#     except Exception as e:
#         # print('xxxxx')
#         print(e)
#
#     return 0


# def main():
#     # time.sleep(30)
#     from test_fenglun import Fenglun
#     from ui.factory import UiFactory
#
#     try:
#         app = QApplication(sys.argv) # ui相关初始化，事件循环管理,信号槽机制等
#         engine = Fenglun() #
#         ui_handle = UiFactory.create('main', engine=engine)
#
#         ui_handle.setWindowTitle('HoneyWell自动包装机视觉引导检测')
#         ui_handle.showMaximized()
#         ui_handle.show()
#         print('xx')
#
#         ui_handle.start()  # 启动相机，plc，算法，服务 ui_handle.change_fun([1, '3131315', 'show_str'])
#
#         sys.exit(app.exec_()) # 启动 QApplication 的主事件循环，用户可以与 GUI 进行交互，应用程序响应各种事件
#     except Exception as e:
#         # print('xxxxx')
#         print(e)
#
#     return 0

# config = {
#             # 'services_running_list':['service_1_dict', 'service_2_dict'], # 要启动的点位
#             'services_running_list': ['service_1_dict'],  # 要启动的点位
#
#             'camera_driver_str': 'sim', # 是否模拟相机, 'sim', 'basler', 'mvs'
#             'plc_driver_str': 'sim', # 是否模拟plc,  plc驱动：'sim', 'modbus_tcp', 's7_tcp'
#
#
#
#             'service_1_dict': # 点位1 或者称为服务
#                 {
#                     'index_int': 1, # 服务id
#                     'product_str': 'zhihe', # 物料名 不反光， 光源 亮，曝光 5000，光圈 最大
#
#                     'camera_dict': {
#                         # 'isSim': False,
#                         'xlh_str': 'DA1851926',  # 相机序列号
#                         'ip_str': '192.168.0.112',  # 相机ip
#                         'camera_handle': None,
#                         'lock_cam_handle': None,
#                     },
#
#                     'algorithm_dict':{
#                             # 'yd_class': get_seg_zhihe_cam1,# 引导算法
#                             'jc_class': get_seg_instruction_cam5, # 检测算法
#                             'jc_handle': None
#
#                         },
#                     'plc_dict': {
#                         # 'isSim': False, # 是否模拟plc
#                         'plc_handle': None
#                     },
#                     'isWaitPlc': False,  # 是否等待plc触发取图
#                     'isReady': False,  # 是否初始化完成
#                 },
#
#
#             'service_2_dict': # 服务2
#                 {
#                     'index_int': 2, # 服务id
#                     'product_str': 'zhihe', # 物料名 不反光， 光源 亮，曝光 5000，光圈 最大
#
#                     'camera_dict':{
#                         'xlh_str': 'DA1851926',  # 相机序列号
#                         'ip_str': '192.168.0.112',  # 相机ip
#                         'camera_handle': None,
#                         'lock_cam_handle': None,
#                     },
#
#                     'algorithm_dict':{
#                             # 'yd_class': get_seg_zhihe_cam1,# 引导算法
#                             'jc_class': get_jc_all_camn, # 检测算法
#                             'jc_handle': None
#
#                         },
#                     'plc_dict': {
#                         'plc_handle': None
#                     },
#                     'isWaitPlc': True,  # 是否等待plc触发取图
#                     'isReady': False,  # 是否初始化完成
#                 },
#
#         }config = {
#             # 'services_running_list':['service_1_dict', 'service_2_dict'], # 要启动的点位
#             'services_running_list': ['service_1_dict'],  # 要启动的点位
#
#             'camera_driver_str': 'sim', # 是否模拟相机, 'sim', 'basler', 'mvs'
#             'plc_driver_str': 'sim', # 是否模拟plc,  plc驱动：'sim', 'modbus_tcp', 's7_tcp'
#
#
#
#             'service_1_dict': # 点位1 或者称为服务
#                 {
#                     'index_int': 1, # 服务id
#                     'product_str': 'zhihe', # 物料名 不反光， 光源 亮，曝光 5000，光圈 最大
#
#                     'camera_dict': {
#                         # 'isSim': False,
#                         'xlh_str': 'DA1851926',  # 相机序列号
#                         'ip_str': '192.168.0.112',  # 相机ip
#                         'camera_handle': None,
#                         'lock_cam_handle': None,
#                     },
#
#                     'algorithm_dict':{
#                             # 'yd_class': get_seg_zhihe_cam1,# 引导算法
#                             'jc_class': get_seg_instruction_cam5, # 检测算法
#                             'jc_handle': None
#
#                         },
#                     'plc_dict': {
#                         # 'isSim': False, # 是否模拟plc
#                         'plc_handle': None
#                     },
#                     'isWaitPlc': False,  # 是否等待plc触发取图
#                     'isReady': False,  # 是否初始化完成
#                 },
#
#
#             'service_2_dict': # 服务2
#                 {
#                     'index_int': 2, # 服务id
#                     'product_str': 'zhihe', # 物料名 不反光， 光源 亮，曝光 5000，光圈 最大
#
#                     'camera_dict':{
#                         'xlh_str': 'DA1851926',  # 相机序列号
#                         'ip_str': '192.168.0.112',  # 相机ip
#                         'camera_handle': None,
#                         'lock_cam_handle': None,
#                     },
#
#                     'algorithm_dict':{
#                             # 'yd_class': get_seg_zhihe_cam1,# 引导算法
#                             'jc_class': get_jc_all_camn, # 检测算法
#                             'jc_handle': None
#
#                         },
#                     'plc_dict': {
#                         'plc_handle': None
#                     },
#                     'isWaitPlc': True,  # 是否等待plc触发取图
#                     'isReady': False,  # 是否初始化完成
#                 },
#
#         }



def main():
    # time.sleep(30)
    from test_fenglun import Fenglun
    try:
        engine = Fenglun() #
        engine.start()  # 启动相机，plc，算法，服务
    except Exception as e:
        # print('xxxxx')
        print(e)

    return 0



if __name__ == '__main__':
    main()